import {
  reqGetCategoryListData,
  reqGetBannerListData,
  reqGetFloorListData,
} from '../../api'

// state用于存储数据
const state = {
  // 三级分类数据
  categoryList: [],
  // 轮播图数据
  bannerList: [],
  // 楼层数据
  floorList: [],
}

// actions用于处理异步操作
const actions = {
  // 获取三级菜单分类数据
  async GetCategoryListData(context) {
    const res = await reqGetCategoryListData()
    if (res.code === 200) {
      // console.log(res.data)
      context.commit('GET_CATEGORY_LIST_DATA', res.data)
    } else {
      console.log(res.message)
    }
  },

  // 获取轮播图数据
  async GetBannerListData(context) {
    const res = await reqGetBannerListData()
    if (res.code === 200) {
      context.commit('GET_BANNER_LIST_DATA', res.data)
    } else {
      console.log(res.message)
    }
  },

  // 获取楼层数据
  async GetFloorListData(context) {
    const res = await reqGetFloorListData()
    if (res.code === 200) {
      context.commit('GET_FLOOR_LIST_DATA', res.data)
    } else {
      console.log(res.message)
    }
  },
}

// mutations用于操作state中的数据
const mutations = {
  // 三级分类数据存储state
  GET_CATEGORY_LIST_DATA(state, list) {
    state.categoryList = list
  },
  // 轮播图数据存储state
  GET_BANNER_LIST_DATA(state, list) {
    state.bannerList = list
  },
  // 楼层数据存储state
  GET_FLOOR_LIST_DATA(state, list) {
    state.floorList = list
  },
}

// getters相当于是一个计算属性
const getters = {}

export default {
  namespaced: true,
  state,
  actions,
  mutations,
  getters,
}
